package com.joeone.mapper.mti;


import com.alibaba.fastjson.JSONObject;
import com.gitee.fastmybatis.core.mapper.CrudMapper;
import com.joeone.entity.mti.GoodsRankVo;
import com.joeone.entity.mti.PerformanceOverviewOne;
import com.joeone.request.JoeoneRequest;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;

/**
* @author 郑伟杰
* 描述：业绩总览数据-组装
* 创建时间 2024/3/18 8:54
*/
@Repository
public interface PerformanceOverviewMapper extends CrudMapper<PerformanceOverviewOne,Long> {
    List<JSONObject> queryYearTarget(@Param("period") String period, @Param("jyxz") String jyxz, @Param("comp") List<String> comp, @Param("isComp") String isComp, @Param("isStoreType") String isStoreType, @Param("isQdType") String isQdType);

    JSONObject querySale(@Param("dateType") String dateType, @Param("period") String period, @Param("periodTq") String periodTq, @Param("jyxz") String jyxz, @Param("comp") List<String> comp, @Param("isTq") String isTq, @Param("isQs") String isQs, @Param("isQdyt") String isQdyt, @Param("isQt") String isQt);

    JSONObject querySaleHk(@Param("dateType") String dateType, @Param("period") String period, @Param("periodTq") String periodTq, @Param("jyxz") String jyxz, @Param("comp") List<String> comp, @Param("isTq") String isTq, @Param("isQs") String isQs);

    List<JSONObject> querySaleHkGroupByQdyt(@Param("dateType") String dateType, @Param("period") String period, @Param("periodTq") String periodTq, @Param("jyxz") String jyxz, @Param("comp") List<String> comp, @Param("isTq") String isTq, @Param("isQs") String isQs);

    List<JSONObject> queryYjTotalGroupByStoreType(@Param("dateType") String dateType, @Param("period") String period, @Param("periodTq") String periodTq, @Param("jyxz") String jyxz, @Param("comp") List<String> comp, @Param("isTq") String isTq);

    List<JSONObject> queryYjTotalGroupByComp(@Param("dateType") String dateType, @Param("period") String period, @Param("periodTq") String periodTq, @Param("jyxz") String jyxz, @Param("comp") List<String> comp, @Param("isTq") String isTq);

    List<JSONObject> querySaleZl(@Param("dateType") String dateType, @Param("period") String period, @Param("periodTq") String periodTq, @Param("jyxz") String jyxz, @Param("comp") List<String> comp, @Param("isQs") String isQs);

    List<JSONObject> querySaleZlGroupByQdyt(@Param("dateType") String dateType, @Param("period") String period, @Param("periodTq") String periodTq, @Param("jyxz") String jyxz, @Param("comp") List<String> comp, @Param("isQs") String isQs);

    List<JSONObject> queryYjTotalGroupByQdyt(@Param("dateType") String dateType, @Param("period") String period, @Param("periodTq") String periodTq, @Param("jyxz") String jyxz, @Param("comp") List<String> comp, @Param("isTq") String isTq, @Param("isQs") String isQs);

    List<JSONObject> queryYjTotalGroupByDl(@Param("dateType") String dateType, @Param("period") String period, @Param("jyxz") String jyxz, @Param("comp") List<String> comp);

    List<JSONObject> queryMarketabilityByDl(@Param("dateType") String dateType, @Param("period") String period, @Param("comp") List<String> comp);

    List<GoodsRankVo> getGoodsRank(@Param("param") JoeoneRequest joeoneRequest, @Param("startDate") String startDate, @Param("endDate") String endDate);

    List<JSONObject> getGoodsImages(@Param("goodsCodes") List<String> goodsCodes);

    String queryWeekStart(@Param("period") String period);

    List<String> queryFgs(@Param("userId") String userId);

    List<String> queryType();

    List<String> queryQDYT();
}